package com.ychs.dpmms.dao;

import com.ychs.dpmms.entity.User;

import java.util.List;
import java.util.Map;

/**
 * copyright(c)2021 YYB.ALL rights Reserved
 * <p>
 * 描述:mapper公共接口，每个mapper接口都可以继承此接口，减少代码量
 *
 * @author 原玉波
 * @version 1.0
 * @date 2021/8/13
 */
public interface IBaseMapper<T> {

    /**
     *插入记录
     * @param t 记录对象
     * @return 影响的行数
     */
    int insert(T t);

    /**
     * 更新记录
     * @param t 记录对象
     * @return 影响的行数
     */
    int update(T t);

    /**
     * 删除记录
     * @param id 该记录的id
     * @return 影响的行数
     */
    int delete(int id);

    /**
     * 按照条件查询所有记录
     * @param conditions 条件
     * @return 记录对象
     */
    List<T> select(Map<String, Object> conditions);

    /**
     * 按照id查询记录
     * @param id 记录的id
     * @return 记录对象
     */
    T selectById(int id);

    /**
     * 按照条件查询记录总数
     * @param conditions 条件
     * @return 符合条件的记录总数
     */
    int selectTotalNumber(Map<String, Object> conditions);

    /**
     * 登录
     * @param username
     * @param password
     * @return
     */
    T login(String username, String password);

}
